data expenses; Wages=12874000; Retire=1765000; Medical=649000; w_raise=1.06; r_raise=1.014; m_raise=1.095; start=year(today())+1; stop=start+9; run; * the next DATA step will use the previous SAS dataset (expenses) to execute the DO loop. The start and stop indexes are called stop and start. ; data future_expenses; set expenses; drop start stop; do year=start to stop; wages=wages*w_raise; retire=retire*r_raise; medical=medical*m_raise; total_cost=sum(medical,wages,retire); output; end; run; proc print data=future_expenses; format wages dollar14.2 retire dollar14.2 medical dollar14.2 total_cost dollar14.2; var year wages retire medical total_cost; run;